Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Show settings path in --show-settings output #4199

Merged
merged 2 commits into from
May 4, 2023

Conversation

dhruvmanila
Copy link
Member

@dhruvmanila dhruvmanila commented May 3, 2023

Summary

Create a new struct called PyprojectConfig which holds all the pyproject.toml configuration related information. This includes the discovery strategy used (Fixed or Hierarchical), the settings itself and absolute path to the pyproject.toml file.

Using PyprojectConfig::new will try to resolve the given config path to absolute.

Test Plan

Project structure:

.
├── pyproject.toml
├── src
│   └── ...
└── test
    ├── foo
    │   └── __init__.py
    └── pyproject.toml
Using `--isolated` (no config path):

$ ~/contributing/astral/ruff/target/debug/ruff check --show-settings --isolated . | head -n8  
Resolved settings for: "/Users/dhruv/playground/python/ruff-play/src/B031.py"
Settings {
    rules: RuleTable {
        enabled: {
            MixedSpacesAndTabs,
            MultipleImportsOnOneLine,
            ModuleImportNotAtTopOfFile,
            LineTooLong,

Using --config pyproject.toml

$ ~/contributing/astral/ruff/target/debug/ruff check --show-settings --config=pyproject.toml . | head -n8
Resolved settings for: "/Users/dhruv/playground/python/ruff-play/src/B031.py"
Settings path: "/Users/dhruv/playground/python/ruff-play/pyproject.toml"
Settings {
    rules: RuleTable {
        enabled: {
            UnnecessaryCallAroundSorted,
            UnnecessaryCollectionCall,
            UnnecessaryComprehension,

Using --config ../pyproject.toml

$ ~/contributing/astral/ruff/target/debug/ruff check --show-settings --config=../pyproject.toml . | head -n8 
Resolved settings for: "/Users/dhruv/playground/python/ruff-play/test/foo/__init__.py"
Settings path: "/Users/dhruv/playground/python/ruff-play/pyproject.toml"
Settings {
    rules: RuleTable {
        enabled: {
            UnnecessaryCallAroundSorted,
            UnnecessaryCollectionCall,
            UnnecessaryComprehension,

Using hierarchical strategy to find config file

$ ~/contributing/astral/ruff/target/debug/ruff check --show-settings . | head -n8          
Resolved settings for: "/Users/dhruv/playground/python/ruff-play/src/B031.py"
Settings path: "/Users/dhruv/playground/python/ruff-play/pyproject.toml"
Settings {
    rules: RuleTable {
        enabled: {
            UnnecessaryCallAroundSorted,
            UnnecessaryCollectionCall,
            UnnecessaryComprehension,

No config file (commented out [tool.ruff] section)

$ ~/contributing/astral/ruff/target/debug/ruff check --show-settings . | head -n8  
Resolved settings for: "/Users/dhruv/playground/python/ruff-play/src/B031.py"
Settings {
    rules: RuleTable {
        enabled: {
            MixedSpacesAndTabs,
            MultipleImportsOnOneLine,
            ModuleImportNotAtTopOfFile,
            LineTooLong,

resolves: #3202

@dhruvmanila dhruvmanila force-pushed the feat/show-settings-path branch from a3ce92d to b264067 Compare May 3, 2023 03:50
@github-actions
Copy link
Contributor

github-actions bot commented May 3, 2023

PR Check Results

Ecosystem

✅ ecosystem check detected no changes.

Benchmark

Linux

group                                      main                                   pr
-----                                      ----                                   --
linter/all-rules/large/dataset.py          1.01     17.1±0.36ms     2.4 MB/sec    1.00     16.9±0.12ms     2.4 MB/sec
linter/all-rules/numpy/ctypeslib.py        1.01      4.1±0.02ms     4.1 MB/sec    1.00      4.0±0.04ms     4.1 MB/sec
linter/all-rules/numpy/globals.py          1.00    493.2±4.92µs     6.0 MB/sec    1.01    499.6±4.02µs     5.9 MB/sec
linter/all-rules/pydantic/types.py         1.00      7.0±0.08ms     3.6 MB/sec    1.00      7.0±0.08ms     3.6 MB/sec
linter/default-rules/large/dataset.py      1.00      8.3±0.11ms     4.9 MB/sec    1.01      8.4±0.06ms     4.8 MB/sec
linter/default-rules/numpy/ctypeslib.py    1.00  1752.1±27.96µs     9.5 MB/sec    1.02   1790.3±7.83µs     9.3 MB/sec
linter/default-rules/numpy/globals.py      1.00    191.2±8.17µs    15.4 MB/sec    1.04    199.4±5.22µs    14.8 MB/sec
linter/default-rules/pydantic/types.py     1.00      3.6±0.09ms     7.0 MB/sec    1.03      3.7±0.08ms     6.8 MB/sec
parser/large/dataset.py                    1.07      6.9±0.06ms     5.9 MB/sec    1.00      6.5±0.08ms     6.3 MB/sec
parser/numpy/ctypeslib.py                  1.05  1324.6±14.54µs    12.6 MB/sec    1.00  1255.7±22.26µs    13.3 MB/sec
parser/numpy/globals.py                    1.00    129.5±3.95µs    22.8 MB/sec    1.00    130.2±0.25µs    22.7 MB/sec
parser/pydantic/types.py                   1.04      2.9±0.05ms     8.9 MB/sec    1.00      2.8±0.03ms     9.2 MB/sec

Windows

group                                      main                                   pr
-----                                      ----                                   --
linter/all-rules/large/dataset.py          1.00     16.8±0.22ms     2.4 MB/sec    1.00     16.9±0.25ms     2.4 MB/sec
linter/all-rules/numpy/ctypeslib.py        1.01      4.2±0.05ms     4.0 MB/sec    1.00      4.1±0.07ms     4.0 MB/sec
linter/all-rules/numpy/globals.py          1.00    486.9±8.39µs     6.1 MB/sec    1.01   491.2±11.89µs     6.0 MB/sec
linter/all-rules/pydantic/types.py         1.00      7.0±0.10ms     3.6 MB/sec    1.01      7.1±0.22ms     3.6 MB/sec
linter/default-rules/large/dataset.py      1.01      8.5±0.10ms     4.8 MB/sec    1.00      8.4±0.10ms     4.8 MB/sec
linter/default-rules/numpy/ctypeslib.py    1.00  1798.3±21.15µs     9.3 MB/sec    1.00  1791.3±18.77µs     9.3 MB/sec
linter/default-rules/numpy/globals.py      1.00    199.5±3.12µs    14.8 MB/sec    1.03    205.4±5.39µs    14.4 MB/sec
linter/default-rules/pydantic/types.py     1.00      3.8±0.05ms     6.7 MB/sec    1.00      3.8±0.06ms     6.7 MB/sec
parser/large/dataset.py                    1.01      6.9±0.05ms     5.9 MB/sec    1.00      6.8±0.04ms     6.0 MB/sec
parser/numpy/ctypeslib.py                  1.00  1309.9±21.99µs    12.7 MB/sec    1.00  1303.8±15.94µs    12.8 MB/sec
parser/numpy/globals.py                    1.01    133.1±1.84µs    22.2 MB/sec    1.00    132.3±2.00µs    22.3 MB/sec
parser/pydantic/types.py                   1.01      2.9±0.03ms     8.7 MB/sec    1.00      2.9±0.05ms     8.8 MB/sec

Copy link
Member

@MichaReiser MichaReiser left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall looks good to me. I personally would prefer to store the path on the PyprojectDiscovery rather than the AllSettings because the path isn't a setting. But that likely results in a larger change because it requires re-modelling PyprojectDiscovery:

struct PyprojectDiscovery {
	strategy: PyprojectDiscoveryStrategy,
	root_settings: AllSettings,
	root_settings_path: Option<PathBuf>
}

#[derive(Debug, Copy, Clone, Eq, PartialEq)]
enum PyprojectDiscoveryStrategy {
	Fixed,
	Hierarchical
}

What's your take on this?

Could you add a test plan to the PR summary showing the new output?

@dhruvmanila
Copy link
Member Author

What's your take on this?

This is a much better idea. At first I thought to add it as an additional element to the tuple itself but I think a struct is a better option for the long term.

Could you add a test plan to the PR summary showing the new output?

Yes, will add it.


I'll make both the changes in the evening.

@dhruvmanila dhruvmanila force-pushed the feat/show-settings-path branch from 81516d8 to 67dba18 Compare May 3, 2023 16:51
@dhruvmanila dhruvmanila force-pushed the feat/show-settings-path branch from 67dba18 to 14e880b Compare May 3, 2023 16:54
@dhruvmanila dhruvmanila requested a review from MichaReiser May 3, 2023 17:10
@dhruvmanila
Copy link
Member Author

I've updated the code and PR description :)

I'm getting error: Broken pipe (os error 32) when I'm piping it to the head command. Is it a bug or some problem in my shell?

@MichaReiser
Copy link
Member

I'm getting error: Broken pipe (os error 32) when I'm piping it to the head command. Is it a bug or some problem in my shell?

I experienced this in the past too when using less but haven't spent any time investigating why this is happening.

@MichaReiser MichaReiser merged commit 59d40f9 into astral-sh:main May 4, 2023
@dhruvmanila dhruvmanila deleted the feat/show-settings-path branch May 4, 2023 14:03
@dhruvmanila
Copy link
Member Author

I think this is related: rust-lang/rust#46016

renovate bot referenced this pull request in ixm-one/pytest-cmake-presets May 5, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [ruff](https://togithub.com/charliermarsh/ruff) | `^0.0.264` ->
`^0.0.265` |
[![age](https://badges.renovateapi.com/packages/pypi/ruff/0.0.265/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/ruff/0.0.265/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/ruff/0.0.265/compatibility-slim/0.0.264)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/ruff/0.0.265/confidence-slim/0.0.264)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>charliermarsh/ruff</summary>

###
[`v0.0.265`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.265)

[Compare
Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.264...v0.0.265)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### Breaking Changes

- Change `--fix-only` exit semantics to mirror `--fix` by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4146](https://togithub.com/charliermarsh/ruff/pull/4146)

##### Rules

- \[flake8-pyi] PYI020 by [@&#8203;arya-k](https://togithub.com/arya-k)
in
[https://github.com/charliermarsh/ruff/pull/4211](https://togithub.com/charliermarsh/ruff/pull/4211)
- Update B027 to support autofixing by
[@&#8203;aacunningham](https://togithub.com/aacunningham) in
[https://github.com/charliermarsh/ruff/pull/4178](https://togithub.com/charliermarsh/ruff/pull/4178)
- \[`flake8-pyi`] Implement `PYI042` and `PYI043` by
[@&#8203;arya-k](https://togithub.com/arya-k) in
[https://github.com/charliermarsh/ruff/pull/4214](https://togithub.com/charliermarsh/ruff/pull/4214)
- \[`pylint`] Implement import-self (`W0406`) by
[@&#8203;chanman3388](https://togithub.com/chanman3388) in
[https://github.com/charliermarsh/ruff/pull/4154](https://togithub.com/charliermarsh/ruff/pull/4154)
- Warn on PEP 604 syntax not in an annotation, but don't autofix by
[@&#8203;wookie184](https://togithub.com/wookie184) in
[https://github.com/charliermarsh/ruff/pull/4170](https://togithub.com/charliermarsh/ruff/pull/4170)

##### Bug Fixes

- Fix panic in pydocstyle D214 when docstring indentation is empty by
[@&#8203;madkinsz](https://togithub.com/madkinsz) in
[https://github.com/charliermarsh/ruff/pull/4216](https://togithub.com/charliermarsh/ruff/pull/4216)
- Render tabs as 4 spaces in diagnostics by
[@&#8203;MichaReiser](https://togithub.com/MichaReiser) in
[https://github.com/charliermarsh/ruff/pull/4132](https://togithub.com/charliermarsh/ruff/pull/4132)
- Fix era panic caused by out of bound edition by
[@&#8203;leiserfg](https://togithub.com/leiserfg) in
[https://github.com/charliermarsh/ruff/pull/4206](https://togithub.com/charliermarsh/ruff/pull/4206)
- End of statement insertion should occur after newline by
[@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in
[https://github.com/charliermarsh/ruff/pull/4215](https://togithub.com/charliermarsh/ruff/pull/4215)
- Ignore **debuggerskip** in unused variable checks by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4229](https://togithub.com/charliermarsh/ruff/pull/4229)

##### CLI

- Show settings path in `--show-settings` output by
[@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in
[https://github.com/charliermarsh/ruff/pull/4199](https://togithub.com/charliermarsh/ruff/pull/4199)

##### Documentation

- Allow linking to individual rules by
[@&#8203;calumy](https://togithub.com/calumy) in
[https://github.com/charliermarsh/ruff/pull/4158](https://togithub.com/charliermarsh/ruff/pull/4158)

#### New Contributors

- [@&#8203;wookie184](https://togithub.com/wookie184) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4170](https://togithub.com/charliermarsh/ruff/pull/4170)
- [@&#8203;arya-k](https://togithub.com/arya-k) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4211](https://togithub.com/charliermarsh/ruff/pull/4211)

**Full Changelog**:
astral-sh/ruff@v0.0.264...v0.0.265

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/ixm-one/pytest-cmake-presets).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS43MS40IiwidXBkYXRlZEluVmVyIjoiMzUuNzEuNCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Signed-off-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this pull request in allenporter/flux-local May 7, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [ruff](https://togithub.com/charliermarsh/ruff) | `==0.0.264` ->
`==0.0.265` |
[![age](https://badges.renovateapi.com/packages/pypi/ruff/0.0.265/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/ruff/0.0.265/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/ruff/0.0.265/compatibility-slim/0.0.264)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/ruff/0.0.265/confidence-slim/0.0.264)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>charliermarsh/ruff</summary>

###
[`v0.0.265`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.265)

[Compare
Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.264...v0.0.265)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### Breaking Changes

- Change `--fix-only` exit semantics to mirror `--fix` by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4146](https://togithub.com/charliermarsh/ruff/pull/4146)

##### Rules

- \[flake8-pyi] PYI020 by [@&#8203;arya-k](https://togithub.com/arya-k)
in
[https://github.com/charliermarsh/ruff/pull/4211](https://togithub.com/charliermarsh/ruff/pull/4211)
- Update B027 to support autofixing by
[@&#8203;aacunningham](https://togithub.com/aacunningham) in
[https://github.com/charliermarsh/ruff/pull/4178](https://togithub.com/charliermarsh/ruff/pull/4178)
- \[`flake8-pyi`] Implement `PYI042` and `PYI043` by
[@&#8203;arya-k](https://togithub.com/arya-k) in
[https://github.com/charliermarsh/ruff/pull/4214](https://togithub.com/charliermarsh/ruff/pull/4214)
- \[`pylint`] Implement import-self (`W0406`) by
[@&#8203;chanman3388](https://togithub.com/chanman3388) in
[https://github.com/charliermarsh/ruff/pull/4154](https://togithub.com/charliermarsh/ruff/pull/4154)
- Warn on PEP 604 syntax not in an annotation, but don't autofix by
[@&#8203;wookie184](https://togithub.com/wookie184) in
[https://github.com/charliermarsh/ruff/pull/4170](https://togithub.com/charliermarsh/ruff/pull/4170)

##### Bug Fixes

- Fix panic in pydocstyle D214 when docstring indentation is empty by
[@&#8203;madkinsz](https://togithub.com/madkinsz) in
[https://github.com/charliermarsh/ruff/pull/4216](https://togithub.com/charliermarsh/ruff/pull/4216)
- Render tabs as 4 spaces in diagnostics by
[@&#8203;MichaReiser](https://togithub.com/MichaReiser) in
[https://github.com/charliermarsh/ruff/pull/4132](https://togithub.com/charliermarsh/ruff/pull/4132)
- Fix era panic caused by out of bound edition by
[@&#8203;leiserfg](https://togithub.com/leiserfg) in
[https://github.com/charliermarsh/ruff/pull/4206](https://togithub.com/charliermarsh/ruff/pull/4206)
- End of statement insertion should occur after newline by
[@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in
[https://github.com/charliermarsh/ruff/pull/4215](https://togithub.com/charliermarsh/ruff/pull/4215)
- Ignore **debuggerskip** in unused variable checks by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4229](https://togithub.com/charliermarsh/ruff/pull/4229)

##### CLI

- Show settings path in `--show-settings` output by
[@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in
[https://github.com/charliermarsh/ruff/pull/4199](https://togithub.com/charliermarsh/ruff/pull/4199)

##### Documentation

- Allow linking to individual rules by
[@&#8203;calumy](https://togithub.com/calumy) in
[https://github.com/charliermarsh/ruff/pull/4158](https://togithub.com/charliermarsh/ruff/pull/4158)

#### New Contributors

- [@&#8203;wookie184](https://togithub.com/wookie184) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4170](https://togithub.com/charliermarsh/ruff/pull/4170)
- [@&#8203;arya-k](https://togithub.com/arya-k) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4211](https://togithub.com/charliermarsh/ruff/pull/4211)

**Full Changelog**:
astral-sh/ruff@v0.0.264...v0.0.265

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/allenporter/flux-local).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS43MS40IiwidXBkYXRlZEluVmVyIjoiMzUuNzEuNCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this pull request in allenporter/pyrainbird May 7, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [ruff](https://togithub.com/charliermarsh/ruff) | `==0.0.264` ->
`==0.0.265` |
[![age](https://badges.renovateapi.com/packages/pypi/ruff/0.0.265/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/ruff/0.0.265/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/ruff/0.0.265/compatibility-slim/0.0.264)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/ruff/0.0.265/confidence-slim/0.0.264)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>charliermarsh/ruff</summary>

###
[`v0.0.265`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.265)

[Compare
Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.264...v0.0.265)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### Breaking Changes

- Change `--fix-only` exit semantics to mirror `--fix` by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4146](https://togithub.com/charliermarsh/ruff/pull/4146)

##### Rules

- \[flake8-pyi] PYI020 by [@&#8203;arya-k](https://togithub.com/arya-k)
in
[https://github.com/charliermarsh/ruff/pull/4211](https://togithub.com/charliermarsh/ruff/pull/4211)
- Update B027 to support autofixing by
[@&#8203;aacunningham](https://togithub.com/aacunningham) in
[https://github.com/charliermarsh/ruff/pull/4178](https://togithub.com/charliermarsh/ruff/pull/4178)
- \[`flake8-pyi`] Implement `PYI042` and `PYI043` by
[@&#8203;arya-k](https://togithub.com/arya-k) in
[https://github.com/charliermarsh/ruff/pull/4214](https://togithub.com/charliermarsh/ruff/pull/4214)
- \[`pylint`] Implement import-self (`W0406`) by
[@&#8203;chanman3388](https://togithub.com/chanman3388) in
[https://github.com/charliermarsh/ruff/pull/4154](https://togithub.com/charliermarsh/ruff/pull/4154)
- Warn on PEP 604 syntax not in an annotation, but don't autofix by
[@&#8203;wookie184](https://togithub.com/wookie184) in
[https://github.com/charliermarsh/ruff/pull/4170](https://togithub.com/charliermarsh/ruff/pull/4170)

##### Bug Fixes

- Fix panic in pydocstyle D214 when docstring indentation is empty by
[@&#8203;madkinsz](https://togithub.com/madkinsz) in
[https://github.com/charliermarsh/ruff/pull/4216](https://togithub.com/charliermarsh/ruff/pull/4216)
- Render tabs as 4 spaces in diagnostics by
[@&#8203;MichaReiser](https://togithub.com/MichaReiser) in
[https://github.com/charliermarsh/ruff/pull/4132](https://togithub.com/charliermarsh/ruff/pull/4132)
- Fix era panic caused by out of bound edition by
[@&#8203;leiserfg](https://togithub.com/leiserfg) in
[https://github.com/charliermarsh/ruff/pull/4206](https://togithub.com/charliermarsh/ruff/pull/4206)
- End of statement insertion should occur after newline by
[@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in
[https://github.com/charliermarsh/ruff/pull/4215](https://togithub.com/charliermarsh/ruff/pull/4215)
- Ignore **debuggerskip** in unused variable checks by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4229](https://togithub.com/charliermarsh/ruff/pull/4229)

##### CLI

- Show settings path in `--show-settings` output by
[@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in
[https://github.com/charliermarsh/ruff/pull/4199](https://togithub.com/charliermarsh/ruff/pull/4199)

##### Documentation

- Allow linking to individual rules by
[@&#8203;calumy](https://togithub.com/calumy) in
[https://github.com/charliermarsh/ruff/pull/4158](https://togithub.com/charliermarsh/ruff/pull/4158)

#### New Contributors

- [@&#8203;wookie184](https://togithub.com/wookie184) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4170](https://togithub.com/charliermarsh/ruff/pull/4170)
- [@&#8203;arya-k](https://togithub.com/arya-k) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4211](https://togithub.com/charliermarsh/ruff/pull/4211)

**Full Changelog**:
astral-sh/ruff@v0.0.264...v0.0.265

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/allenporter/pyrainbird).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS43MS40IiwidXBkYXRlZEluVmVyIjoiMzUuNzEuNCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Include settings path in --show-settings
2 participants